Rotary encoder

ABSTRACT

A rotary encoder includes: a rotary disk with an angle code; a light source; a detector reading the angle code; and a processing unit acquiring a reading value. The light source includes at least two light-emitting elements spaced from each other. Every time the rotary disk is rotated by a predetermined angle, where an arbitrary angle from a rotation angle θ within a reading range on the detector is provided as φ, the processing unit acquires reading values f I (θ+φ) and f I (θ) with a first light-emitting element and a reading value f II (θ+φ) with a second light-emitting element, to calculate a reading value error due to deflection at an angle θ+φ based on the difference between the reading values f II (θ+φ) and f I (θ+φ), to obtain a difference g I (θ,φ) between the reading values f I (θ+φ) and f I (θ) such that the error is reflected, and to self-calibrate based on a change in the difference g I (θ,φ).

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority under 35 U.S.C. § 119 to Japanese Patent Application No. 2018-185902 filed Sep. 28, 2018. The contents of this application are incorporated herein by reference in their entirely.

TECHNICAL FIELD

The present disclosure relates to a rotary encoder, and more particularly, to a rotary encoder capable of self-calibration.

BACKGROUND ART

A rotary encoder used for a surveying apparatus measures a horizontal angle and a vertical angle by using a rotary disk that rotates in conjunction with a telescope and a detector that reads a slit indicative of a scale or an angle code provided along the circumferential direction of this rotary disk.

The main causes of errors in measured values of the rotary encoder include the eccentricity of attachment of the rotary disk to a rotating shaft, and the scale or angle codes not attached at completely equal intervals.

To remove such an error, in the rotary encoder disclosed in Patent Document 1, every time the rotary disk is rotated by a predetermined angle, where a rotation angle of the rotary disk is provided as θ and an arbitrary angle from the rotation angle θ within a reading range on the detector is provided as φ, reading values f(θ+φ) and f(θ) within the reading range on the detector can be acquired, and the self-calibration of the reading value f(θ) can be carried out based on a change in a difference g(θ,φ) between the reading values f(θ+φ) and f(θ) when the rotary disk is rotated one turn.

RELATED ART DOCUMENT Patent Document

Patent Document 1: Japanese Patent No. 4824415

SUMMARY OF INVENTION Problems to be Solved by the Invention

However, in the rotary encoder of Patent Document 1, no consideration is given to an error caused by deflecting of the rotary disk toward and away from a light source during rotation (hereinafter referred to as “deflection”), and particularly, in the case of a rotary encoder for a surveying apparatus required to perform high precision measurement, the rotary encoder has a problem that calibration accuracy may not be sufficient.

The present invention has been made in view of the situations, and an object thereof is to provide a rotary encoder capable of carrying out highly-accurate self-calibration with consideration given to an error caused by deflection of a rotary disk.

Means for Solving the Problems

To achieve the aforementioned object, an aspect of the present invention provides a rotary encoder including: a rotary disk with an angle code; a light source for irradiating the angle code; a detector for reading the angle code; and a processing for acquiring a reading value f(θ) based on the angle code read by the detector. The light source includes a plurality of light-emitting elements, wherein a first light-emitting element is disposed at a position corresponding to an angle θ of the rotation, wherein a second light-emitting element is disposed at a predetermined distance x_(L) away from the first light-emitting element. Every time the rotary disk is rotated by a predetermined angle, where a rotation angle of the rotary disk is provided as θ and an arbitrary angle from the rotation angle θ within a reading range on the detector is provided as φ, the processing unit is configured to acquire reading values f_(I)(θ+φ) and f_(I)(θ) within a reading range on the detector in the case of using the first light-emitting element and a reading value f_(II)(θ+φ) on the detector in the case of using the second light-emitting element, to calculate a reading value error Δφ_(I) due to deflection at an angle θ+φ based on a difference h(θ+φ) between the reading value f_(II)(θ+φ) and the reading value f_(I)(θ+φ), to obtain a difference g(θ,φ) between the reading values f_(I)(θ+φ) and f_(I)(θ) such that the reading value error Δφ_(I) is reflected, and to self-calibrate the reading value f_(I)(θ) based on a change in the difference g_(I)(θ,φ).

In another aspect, preferably, the light source includes a third light-emitting element disposed at a position symmetrical to the second light-emitting element with respect to the first light-emitting element. The processing unit is configured to acquire a reading value f_(I)(θ−φ) within a reading range on the detector in the case of using the first light-emitting element and a reading value f_(III)(θ−φ) on the detector in the case of using the third light-emitting element, to calculate a reading value error Δ(−φ_(I)) due to deflection at an angle θ−φ based on a difference h(θ−φ) between the reading value f_(III)(θ−φ) and the reading value f_(I)(θ−φ), to obtain a difference g_(I)(θ, −φ) between the reading values f_(I)(θ−φ) and f_(I)(θ) such that the reading value error Δ(−φ_(I)) is reflected, to average changes in the difference g_(I)(θ,φ) and the difference g_(I)(θ, −φ), and to self-calibrate the reading value f_(I)(θ).

Benefit of Invention

According to the aspect, an object is to provide the rotary encoder capable of carrying out highly-accurate self-calibration with consideration given to an error caused by deflection of a rotary disk.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a configuration block diagram of a rotary encoder according to a first embodiment of the present invention.

FIG. 2A is a plan view of the vicinity of a detector of the rotary encoder according to the first embodiment.

FIG. 2B is a cross-sectional view taken along a line IIB-IIB of FIG. 2A.

FIG. 3A is a plane view for explaining a method of calculating an error due to a deflection in the rotary encoder of the first embodiment when a first light-emitting element emits light.

FIG. 3B is a cross-sectional view taken along a line IIIB-IIIB of FIG. 3A.

FIG. 4 is a view for explaining the method of calculating an error due to a deflection in the rotary encoder of the first embodiment and is a cross-sectional view similar to FIG. 3B when a second light-emitting element emits light.

FIG. 5 is a flowchart illustrating self-calibration procedures of the rotary encoder of the first embodiment.

FIG. 6A is a plan view of the vicinity of a detector of a rotary encoder according to a second embodiment of the present invention

FIG. 6B is a cross-sectional view taken along a line VIB-VIB of FIG. 6A.

FIG. 7 is a flowchart illustrating self-calibration procedures of the rotary encoder of the second embodiment.

DESCRIPTION OF EMBODIMENTS

Preferred embodiments of the present invention will now be described with reference to the drawings; however, the present invention is not limited thereto. In the embodiments, the same constituent elements are denoted by the same reference numerals and will not redundantly be described.

First Embodiment

1. Configuration of Rotary Encoder

A rotary encoder (hereinafter simply referred to as an “encoder”) 100 according to this embodiment is a so-called absolute encoder. The encoder 100 includes a rotary disk 2 fixed to a rotating shaft (not depicted), a light source 3 fixed to a rotating shaft bearing (not depicted), a detector 4 receiving the light from the light source 3 via the rotary disk 2, a converting unit 5, a processing unit 6, and a display unit 7.

The rotary disk 2 is a doughnut-shaped disk and has a periphery portion provided with slits 21 composed of narrow slits that mean 0 and wide slits that mean 1 and forming angle codes indicative of angles.

The light source 3 includes a first light-emitting element 31 and a second light-emitting element 32, and the light-emitting elements are LEDs, for example. The light-emitting elements 31, 32 are disposed to face the slits 21 of the rotary disk 2 at a predetermined distance H_(DL) (FIG. 2B). The first light-emitting element 31 and the second light-emitting element 32 are disposed at a predetermined distance x_(L) in a direction orthogonal to the diameter of the rotary disk.

The detector 4 is a CCD linear sensor, for example, and is disposed on the side opposite to the light source 3 with respect to the rotary disk 2 so as to face the light source 3 at a predetermined distance H_(DC) (FIG. 2B).

The converting unit 5 is an A/D converter and converts a detection signal from the detector 4 into a digital signal to output the signal to the processing unit 6.

The processing unit 6 is a microcontroller equipped with a ROM, a RAM, etc. for a CPU, controls light emission of the light source 3, decodes an angle code from the detection signal input from the converting unit 5, applies a known interpolation process to calculate an angle, and outputs the angle to the display unit 7 such as a liquid crystal display.

As depicted in FIGS. 2A and 2B, the detector 4 is disposed at a position orthogonal to the diameter of the rotary disk 2 to face the slits 21. A foot of a perpendicular line drawn from a center O of the rotary disk 2 to the detector 4 is provided as the point A. In addition, an appropriate point of the rotary disk 2 within a detection range of the detector 4 is provided as the point B. Reference sign M denotes a direction in which the angle code indicates 0°, and a true angle of the point A created from an M direction is provided as θ, while a true angle of an angle AOB is provided as φ. Therefore, the position of the point A is the position of the angle θ, and the position of the point B is the position of the angle θ+φ.

In this state, the first light-emitting element 31 is disposed at a position corresponding to the point A, and the second light-emitting element 32 is disposed at the predetermined distance x_(L) away from the first light-emitting element 31 in an extending direction of the detector 4.

As depicted in FIG. 2B, if deflection is not taken into consideration, light emitted from the first light-emitting element 31 and made incident on the point A is incident on a reading position A_(CI) of the detector 4. The light made incident on the point B is incident on a reading position B_(CI) of the detector 4. The processing unit 6 can read respective angle codes of the point A and point B at the reading positions A_(CI) and B_(CI) and can apply the interpolation process to determine angle reading values f_(I)(θ) and f_(I)(θ+φ) at the point A and point B, respectively. In normal angle measurement, the angle reading value f_(I)(θ) at the point A is the measurement value.

Since the reading values f_(I)(θ) and f_(I)(θ+φ) are periodic functions with a period of 360° and can therefore be expressed by formulas 1 and 2 by using Fourier series. f _(I)(θ)=θ+ΣA _(i)*sin(iθ+α _(i))  (1) f _(I)(θ+φ)=(θ+φ)+ΣA _(i)*sin {i(θ+φ)+α_(i)}  (2)

(where i means a natural number (1, 2, 3, . . . M/2) expressing the order of a higher harmonic, Ai means amplitude of the i-th higher harmonic, α_(i) means an initial phase of the i-th higher harmonic, and M means a scale number, which is an even number).

As depicted in FIG. 2B, if deflection is not taken into consideration, light emitted from the second light-emitting element 32 and made incident on the point B is incident on a reading position B_(CII) of the detector 4. The processing unit 6 reads the angle code of the point B with the detector 4 and applies the interpolation process to determine an angle reading value f_(II)(θ+φ) at the point B. The details of the reading value f_(II)(θ+φ) will be described later.

2. Calculation of Deflection Error

An influence of deflection on an angle reading value will be described with reference to FIGS. 3A and 3B. The deflection means displacement of the rotary disk 2 toward and away from the light source 3 due to rotation. In FIGS. 3A and 3B, description will be made of the case that the deflection occurs in the direction toward the light source.

When the deflection ΔH occurs, the incident position on the rotary disk 2 of the light emitted from the first light-emitting element 31 for detection of the angle θ+φ is a point B′ shifted from the point B by a distance Δx_(DI). Therefore, the angle code of the point B′ is read instead of that of the point B at the reading position B_(CI). Thus, the reading value f_(I)(θ+φ) is (θ+φ)+Δφ_(I) (FIG. 3A). Therefore, −Δφ_(I) is an error caused by the deflection of the rotary disk.

The deflection error Δφ_(I) at the position of the angle θ+φ can be calculated as follows.

From FIG. 3B, a relationship is as expressed by formula 3 among the deflection ΔH, a deviation Δx_(DI) of the incident position due to the deflection ΔH, a distance H_(LC) from the first light-emitting element 31 to the detector 4, and a distance x_(CI) between the reading positions A_(CI), B_(CI). x _(CI) /H _(LC) =Δx _(DI) /ΔH  (3)

Therefore, the deviation Δx_(DI) of the incident position can be expressed by formula 4. Δx _(DI) =ΔH/H _(LC) ·x _(CI)  (4)

From FIG. 3A, the tangent of the angle φ can be expressed by formula 5 by using a distance x_(D) between A and B and a length l of a perpendicular line drawn from the center O of the rotary disk to the point A. tan φ=x _(D) /l  (5)

The tangent of (φ+Δφ_(I)) is expressed as formula 6 by using the deviation Δx_(DI) of the incident position. tan(φ+Δφ_(I))=(x _(D) −Δx _(DI))/l  (6)

Therefore, if Δφ_(I) is sufficiently small, Δφ_(I) can be approximated as in formula 7. Δφ_(I)≈−(Δx _(DI))/1=−(ΔH/H _(LC))(x _(CI)/1)  (7)

The deflection is also a periodic function with a period of 360° and is therefore expressed by formula 8 by using Fourier series. Δφ_(I)=Σ(ΔH _(i) /H _(LC))(x _(CI) /l)*sin {i(θ+φ)+βi}  (8)

By adding this formula to formula 1, a measured angle value f_(I)(θ+φ) at the point B (angle θ+φ) with consideration given to the deflection can be expressed by formula 9. f _(I)(θ+φ)=θ+φ+ΣA _(i)*sin {i(θ+φ)+α_(i)}+Σ(ΔH _(i) /H _(LC))(x _(CI) /l)*sin {i(θ+φ)+β_(i)}  (9)

In the case of φ=0, x_(CI)=0 is satisfied, and an error due to the deflection does not occur as expressed by formula 10. Specifically, the error due to the deflection does not affect the measurement of the angle θ itself. f _(I)(θ)=θ+ΣA _(i)*sin(iθ+α _(i))  (10)

Description will be made of the influence of the deflection ΔH in the case of obtaining the angle reading value f_(II)(θ+φ) at the point B_(CII) when the light is emitted by the second light-emitting element 32. The incident position on the rotary disk 2 of the light emitted from the second light-emitting element 32 is a point B″ shifted from the point B by a distance Δx_(DII).

A relationship at a position of θ+φ can be expressed by formula 11 from FIG. 4 among the distance x_(L) between the first light-emitting element 31 and the second light-emitting element 32, a distance (angle reading position) x_(CII) between the reading positions A_(CI), B_(CII), the distance H_(LC) from the second light-emitting element 32 to the detector 4, a deviation Δx_(DII) of the incident position due to the deflection ΔH, and the deflection ΔH. (x _(L) −x _(CII))/H _(LC) =−Δx _(DII)/Δ_(H)  (11)

Therefore, the deviation Δx_(DII) of the incident position can be expressed by formula 12. Δx _(DII)=(ΔH/H _(LC))(x _(CII) −x _(L))  (12)

Thus, as in the case that the light is emitted by the first light-emitting element 31, the angle reading value f_(II)(θ+φ) of the point B_(CII) at the position of θ+φ can be expressed by formula 13. f _(II)(θ+φ)=−θ+φ+ΣA _(i)*sin {i(θ+φ)+α_(i)}+Σ(ΔH _(i) /H _(LC))(x _(CII) −x _(L))/l*sin {i(θ+φ)+β_(i)}  (13)

Therefore, a difference h(θ+φ) between the reading value f_(II)(θ+φ) according to the second light-emitting element 32 and the reading value f_(I)(θ+φ) according to the first light-emitting element 31 can be expressed by formula 14. h(θ+φ)=f _(II)(θ+φ)−f _(I)(θ+φ)=Σ(ΔH _(i) /H _(LC))(x _(CII) −x _(CI) −x _(L))/l*sin {i(θ+φ)+β_(i)}  (14)

From formula 8, Σ(ΔH_(i)/H_(LC))*{sin {i(θ+φ)+βi}=Δφ_(I)/(x_(CI)/l) is acquired, and therefore, the error Δφ_(I) of the angle reading value due to the deflection at the position of θ+φ can be expressed by formula 15. Δφ_(I) =x _(CI)/(x _(CII) −x _(CI) −x _(L))*h(θ+φ)  (15)

From the above, an angle reading value taking an influence of an error into consideration is obtained by f_(I)(θ+φ)−Δφ_(I).

Since the distance x_(L) between the first light-emitting element 31 and the second light-emitting element 32 is known, and the distance (angle reading position) x_(CI) between the reading positions A_(CI), B_(CI), and the distance (angle reading position) x_(CII) between the reading positions A_(CI), B_(CII) can also be acquired, the error Δφ_(I) of the angle reading value due to the deflection at the position of the angle θ+φ can be obtained.

3. Method of Self Calibration

A method of self-calibration of the encoder 100 according to this embodiment is the same as the method disclosed in Patent Document 1 except that the error Δφ_(I) of the angle reading value due to the deflection is taken into consideration when the reading value f_(I)(θ+φ) at the position of θ+φ is acquired, and the outline is as follows.

First, the difference g_(I)(θ,φ) between the reading values f_(I)(θ+φ) and f_(I)(θ) can be expressed by a Fourier series as in formula 16 from formulas 1 and 2 according to the method described in Patent Document 1. g _(I)(θ,φ)=φ+ΣA _(i)*sin(iθ/2)*cos {i(θ+φ/2)+α_(i) }=B ₀ +ΣB _(i)*sin {iθ+γ _(i)}  (16) where φ=B _(o)  (17) A _(i) =B _(i)*sin(_(i)φ/2)  (18) α_(i)=γ_(i)−_(i)φ/2+π/2  (19).

Therefore, at a position with a rotation angle θj where the rotary disk 2 is rotated by a predetermined angle (e.g., 5°) obtained by dividing 360° into N equal parts, reading values f_(I)(θ_(j)), f_(I)(θ_(j)+φ) at points A and B are acquired. Here, j=1, 2, 3, . . . N−1. By calculating g_(I)(θ_(j),φ)=f_(I)(θ_(j)+φ)−f_(I)(θ_(j)) for each predetermined angle θ_(j), the respective coefficients B_(o), B_(i), γ_(i) of the Fourier series in formula 16 can be calculated by a known method, and φ, A_(i), α_(i) can be calculated from formulas 17, 18, 19. Therefore, the true angle θ can be obtained from formula 20, which is deformation of formula 1. θ=f(θ)−ΣA _(i)*sin(iθ+α _(i))=f(θ)−E(θ)  (20)

Here, E(θ) means an error function E(θ)=ΣA_(i)*sin(iθ+α_(i)).

4. Self-Calibration Procedures

Self-calibration procedures of the encoder 100 according to this embodiment will be described with reference to FIG. 5. The following automatic calibration process is usually carried out by the processing unit 6.

When the self-calibration is started, in step S101, the light is emitted by the first light-emitting element 31 so as to acquire the reading values f_(I)(θ_(j)), f_(I)(θ_(j)+φ) of the reading positions A_(CI), B_(CI) on the detector 4 and the distance (angle reading position) x_(CI) between A_(CI) and B_(CI), and this is carried out a predetermined number of times. After the measurement, the light emission of the first light-emitting element 31 is stopped.

Next, in step S102, the light is emitted by the second light-emitting element 32 so as to acquire the reading value f_(II)(θ_(j)+φ) of the reading position B_(CII) on the detector 4 and the distance (angle reading position) x_(CII) between A_(CI) and B_(CII), and this is carried out a predetermined number of times. After the measurement, the light emission of the second light-emitting element 32 is stopped.

Next, in step S103, averages of the reading values f_(I)(θ_(j)), f_(I)(θ_(j)+φ), f_(II)(θ_(j)+φ), the distance (angle reading position) x_(CI) between A_(CI) and B_(CI), and the distance (angle reading position) x_(CII) between A_(CI) and B_(CII) are calculated.

Next, in step S104, a difference h(θ_(j)+φ)=f_(II)(θ_(j)+φ)−f_(I)(θ_(j)+φ) between the reading values f_(II)(θ_(j)+φ) and f_(I)(θ_(j)+φ) at θ+φ is calculated and stored.

Next, in step S105, the error Δφ_(I) of the angle reading value due to the deflection at the position of θ+φ is calculated by formula 15 and stored.

Next, in step S106, a difference g_(I)(θ_(j),φ) between the reading value f_(I)(θ_(j)+φ)−Δφ_(I) and the reading value f_(I)(θ) taking the influence of the deflection into consideration is calculated and stored.

Next, in step S107, it is judged whether all possible data has been acquired, i.e., whether g(θ_(j),φ) has been acquired for each predetermined angle θ_(j). For example, it is judged for θ whether g_(I)(θ_(j),φ) has been acquired at intervals of 5° traversing 360°.

If all possible data has not been acquired (No), the process proceeds to step S107, the rotary disk 2 is manually or automatically rotated by a predetermined angle, and the process returns to step S101. Thereafter, steps S101 to S107 are repeated to obtain and store g_(I)(θ_(j),φ) for each predetermined angle θ_(j).

When the predetermined number of times of data acquisition has been completed in step S109 (Yes), the process proceeds to step S108 to calculate, based on g_(I)(θ_(j),φ) for each predetermined angle θ_(j), coefficients B₀, B_(n), γ_(n) of the Fourier series of g_(I)(θ,φ) described in formula 16.

Next, in step S110, coefficients A_(n), α_(n) of the Fourier series of the error function E(θ) of the reading value f(θ) are calculated based on the coefficients B₀, B_(n), γ_(n).

Next, in step S111, the error function E(θ) is obtained based on the coefficients acquired in step S110 and is stored, and the process ends.

By carrying out the automatic calibration of the encoder 100 as described above, the true angle θ can be accurately obtained from the reading value f(θ) by using formula 1 in subsequent measurements.

According to the encoder 100 according to this embodiment, when a rotation angle of the rotary disk is provided as θ and an arbitrary angle from the rotation angle θ within a reading range on the detector is provided as φ, the second light-emitting element is disposed at a predetermined distance in addition to the first light-emitting element for measuring the rotation angle θ, and this enables measurement of the angle reading value f_(I)(θ+φ) using the first light-emitting element 31 and the angle reading value f_(II)(θ+φ) using the second light-emitting element 32 at the position of the angle θ+φ as well as the respective angle reading positions on the detectors 4. Using these measured values and the known distance between the light-emitting elements makes it possible to obtain the error Δφ_(I) of the angle reading value at the angle θ+φ due to the deflection at the position of the angle θ+φ.

Therefore, the error function can be calculated by using the reading value f_(I)(θ_(j)+φ)−Δφ_(I) taking the error Δφ_(I) of the angle reading value due to the deflection, and the self-calibration can be carried out with this error function, which enables highly accurate self-calibration.

Second Embodiment

FIGS. 6A and 6B depict an encoder 100 a according to a second embodiment. The encoder 100 a has substantially the same configuration as the encoder 100 according to the first embodiment except that a light source 3 a further includes a third light-emitting element 33. The third light-emitting element 33 is disposed symmetrically to the second light-emitting element 32 with respect to the first light-emitting element 31, that is, a perpendicular line drawn from the center O of the rotary disk 2 to the point A.

The third light-emitting element 33 is used for reading an angle at a position separated from the point A by the angle φ in the direction opposite to the point B, that is, at a position of an angle θ−φ. An error Δ(−φ_(I)) of an angle reading value due to the deflection at the angle θ−φ is also calculated by the same method as Δφ_(I).

Next, self-calibration procedures of the encoder 100 a according to this embodiment will be described with reference to FIG. 7. The basic process is the same as the procedures according to the first embodiment, and therefore, the same process will be cited without description.

When the self-calibration is started, in step S201, in addition to the process of step S101, an angle reading value f_(I)(θ_(j)−φ) and a distance (angle reading position) x_(CI)′ between A_(CI) and C_(CI) are acquired, and this is carried out a predetermined number of times. After the measurement, the light emission of the first light-emitting element 31 is stopped.

Next, in step S202, the measurement according to the second light-emitting element is carried out as in step S102.

Next, in step S203, the light is emitted by the third light-emitting element 33 so as to acquire a reading value f_(III)(θ_(j)−φ) of a reading position B_(CIII) on the detector 4 and a distance (angle reading position) x_(CIII) between A_(CI) and B_(CIII), and this is carried out a predetermined number of times. After the measurement, the light emission of the third light-emitting element 33 is stopped.

Next, in step S204, averages of the reading values f_(I)(θ_(j)), f_(I)(θ_(j)+φ), f_(II)(θ_(j)+φ), f_(III)(θ_(j)−φ) and the angle reading positions x_(CI), x_(CI)′ acquired in steps S201 to S203 are calculated.

Next, in step S205, h(θ_(j)+φ) and h(θ_(j)−φ) are calculated and stored as in step S104.

Next, in step S206, the errors Δφ_(I), Δ(−φ_(I)) of the angle reading values due to the deflection at the respective positions of θ+φ, θ−φ are calculated and stored as in step S105.

Next, in step S207, g_(I)(θ_(j),φ) and g_(I)(θ_(j),φ) are calculated and stored as in step S106.

Thereafter, the processes in steps S208 to S211 are carried out as in steps S107 to S110 to calculate an error function of f_(I)(θ) obtained from each of θ+φ and θ−φ.

The error function is averaged in step S212, the error function is stored in step S213, and the process ends.

According to this embodiment, since the reading errors of the reading values at the angles θ+φ and θ−φ can be averaged, higher calibration accuracy can be achieved.

Although the preferred embodiments of the present invention have been described, the embodiments are examples of the present invention and can be combined based on the knowledge of those skilled in the art, and such embodiments fall within the scope of the present invention.

DESCRIPTION OF SYMBOLS

-   2 rotary disk -   3, 3 a light source -   31 first light-emitting element -   32 second light-emitting element -   33 third light-emitting element -   4 detector -   6 processing unit -   100, 100 a rotary encoder 

What is claimed is:
 1. A rotary encoder comprising: a rotary disk with an angle code; a light source for irradiating the angle code; a detector for reading the angle code; and a processor for acquiring a reading value f(θ) based on the angle code read by the detector, wherein the light source includes a plurality of light-emitting elements for the same angle code, the light-emitting elements being disposed to face the same angle code of the rotary disc, wherein a first light-emitting element is disposed at a position corresponding to an angle θ of the rotation, wherein a second light-emitting element is disposed at a predetermined distance x_(L) away from the first light-emitting element in a direction orthogonal to the diameter of the rotary disc, and wherein every time the rotary disk is rotated by a predetermined angle, where a rotation angle of the rotary disk is provided as θ and an arbitrary angle from the rotation angle θ within a reading range on the detector is provided as φ, the processor is configured to acquire reading values f_(I)(θ+φ) and f_(I)(θ) within a reading range on the detector in the case of using the first light-emitting element and a reading value f_(II)(θ+φ) on the detector in the case of using the second light-emitting element, to calculate a reading value error Δφ_(I) due to deflection at an angle θ+φ based on a difference h (θ+φ) between the reading value f_(II)(θ+φ) and the reading value f_(I)(θ+φ), to obtain a difference g_(I)(θ,φ) between the reading values f_(I)(θ+φ) and f_(I)(θ) such that the reading value error Δφ_(I) is reflected, and to self-calibrate the reading value f_(I)(θ) based on a change in the difference g_(I)(θ,Φ), and wherein the reading value error Δφ_(I) due to deflection is an error caused by deflecting of the rotary disc toward and away from the light source during rotation.
 2. The rotary encoder according to claim 1, wherein the light source includes a third light-emitting element disposed at a position symmetrical to the second light-emitting element with respect to, the first light-emitting element, and wherein the processor is configured to acquire a reading value f_(I)(θ−φ) within a reading range on the detector in the case of using the first light-emitting element and a reading value f_(III)(θ−φ) on the detector in the case of using the third light-emitting element, to calculate a reading value error Δ (−φ_(I)) due to deflection at an angle (θ−φ) based on a difference h (θ−φ) between the reading value f_(III)(θ−φ) and the reading value f_(I)(θ−φ), to obtain a difference g_(I)(θ, −φ) between the reading values f_(I)(θ−φ) and f_(I)(θ) such that the reading value error Δ (−φ_(I)) is reflected, to average changes in the difference g_(I)(θ, −φ) and the difference g, (6, −cp), and to self-calibrate the reading value f_(I)(θ). 